package report

type ReceiveUrlRequestDto struct {
	Code string `json:"code"`
}

type ReportFromSharingListRequestDto struct {
	Page             int32  `form:"page"  json:"page,omitempty"`
	PageSize         int32  `form:"page_size"  json:"page_size,omitempty"`
	RecipientUid     string `form:"recipient_uid"  json:"recipient_uid,omitempty"`
	ProvinceCode     string `form:"province_code"  json:"province_code,omitempty"`
	CityCode         string `form:"city_code"  json:"city_code,omitempty"`
	ReportStatusCode int32  `form:"report_status_code"  json:"report_status_code,omitempty"`
}

type ReportInfoRequestDto struct {
	Code     string `json:"code"`
	ReportId string `json:"report_id"`
}

type ReportOptionRequest struct {
	Keyword        string `json:"keyword"`
	ClueSource     string `json:"clue_source"`
	ClueSourceId   string `json:"clue_source_id"`
	OrganizingCode string `json:"organizing_code"` // 按理说可以搜出来，但有这个可以提高性能
	Page           int32  `json:"page,omitempty"`
	PageSize       int32  `json:"page_size,omitempty"`
}

type SearchContactRequest struct {
	Keyword                 string `json:"keyword"`
	DeveloperOrganizingCode string `json:"developer_organizing_code"`
	SupplierOrganizingCode  string `json:"supplier_organizing_code"`
	CompanyCategory         string `json:"company_category"`
	PageNum                 int32  `json:"pageNum,omitempty"`
	PageSize                int32  `json:"pageSize,omitempty"`
}

type CompanyTypeOption struct {
	Label string `json:"label"`
	Value string `json:"value"`
}

type FillReportFormRequest struct {
	ClueSource   string `json:"clue_source"`
	ClueSourceId string `json:"clue_source_id"`
}

type SaveFollowRecordRequest struct {
	ReportId       string   `json:"report_id,omitempty"`
	FollowType     int32    `json:"follow_type,omitempty"`
	FollowStatus   int32    `json:"follow_status,omitempty"`
	FollowContent  string   `json:"follow_content,omitempty"`
	FollowUserName string   `json:"follow_user_name,omitempty"`
	Province       string   `json:"province,omitempty"`
	ProvinceCode   string   `json:"province_code,omitempty"`
	City           string   `json:"city,omitempty"`
	CityCode       string   `json:"city_code,omitempty"`
	Address        string   `json:"address,omitempty"`
	Images         []string `json:"images,omitempty"`
}

type ReportMyListRequestDto struct {
	ProjectProvinceCode   string `form:"project_province_code" json:"project_province_code"`
	ProjectCityCode       string `form:"project_city_code" json:"project_city_code"`
	CompanyProvinceCode   string `form:"company_province_code" json:"company_province_code"`
	CompanyCityCode       string `form:"company_city_code" json:"company_city_code"`
	Keyword               string `form:"keyword" json:"keyword"`
	SubmitStartTime       string `form:"submit_start_time" json:"submit_start_time"`
	SubmitEndTime         string `form:"submit_end_time" json:"submit_end_time"`
	FollowStatus          int    `form:"follow_status" json:"follow_status"`
	ResponsiblePersonGuid string `form:"responsible_person_guid" json:"responsible_person_guid"`
	Page                  int    `form:"page" json:"page"`
	PageSize              int    `form:"page_size" json:"page_size"`
}

type ReportMyListResponseDto struct {
	Page     int              `json:"page"`
	PageSize int              `json:"page_size"`
	Total    int              `json:"total"`
	List     []ReportListItem `json:"list"`
}

type ReportRemoteResult struct {
	Total int
	List  []*interface{}
}

type ReportListItem struct {
	UID                   string `json:"uid"`
	ProjectTitle          string `json:"project_title"`
	FollowStatus          int    `json:"follow_status"`
	Submitter             string `json:"submitter"`
	CompanyName           string `json:"company_name"`
	ResponsiblePersonName string `json:"responsible_person_name"`
	ResponsiblePersonGUID string `json:"responsible_person_guid"`
	AgencyName            string `json:"agency_name"`
	AgencyContact         string `json:"agency_contact"`
	ProjectProvinceCode   string `json:"project_province_code"`
	ProjectCityCode       string `json:"project_city_code"`
	CreatedOn             string `json:"created_on"`
	ModifiedOn            string `json:"modified_on"`
}

type SaveRequest struct {
	AgencyContact           string   `json:"agency_contact"`          //经销商联系人
	AgencyContactTel        string   `json:"agency_contact_tel"`      //经销商联系电话
	AgencyName              string   `json:"agency_name"`             //经销商名称
	CompanyCityCode         string   `json:"company_city_code"`       //公司所在市code
	CompanyName             string   `json:"company_name"`            //公司名称
	CompanyOrganizingCode   string   `json:"company_organizing_code"` //
	CompanyProvinceCode     string   `json:"company_province_code"`
	CompanyType             string   `json:"company_type"`
	ContactPosition         string   `json:"contact_position"`
	DefaultContact          string   `json:"default_contact"`
	DefaultContactTel       string   `json:"default_contact_tel"`
	ProjectAddress          string   `json:"project_address"`
	ProjectCity             string   `json:"project_city"`
	ProjectCityCode         string   `json:"project_city_code"`
	ProjectImage            []string `json:"project_image"`
	ProjectProvince         string   `json:"project_province"`
	ProjectProvinceCode     string   `json:"project_province_code"`
	ProjectTitle            string   `json:"project_title"`
	ProjectType             string   `json:"project_type"`
	Submitter               string   `json:"submitter"`
	SubmitterCompany        string   `json:"submitter_company"`
	SubmitterTel            string   `json:"submitter_tel"`
	ClueSource              string   `json:"clue_source"`
	ClueSourceId            string   `json:"clue_source_id"`
	UrlUid                  string   `json:"url_uid"`
	ReportSourceType        string   `json:"report_source_type"`
	ResponsiblePersonGuid   string   `json:"responsible_person_guid"`
	ResponsiblePersonName   string   `json:"responsible_person_name"`
	ResponsiblePersonMobile string   `json:"responsible_person_mobile"`
	ReportSourceId          string   //分享类型时，分享ID,direct不需要填
}
